package pojo;

import lombok.*;

import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;

/**
 * @author zheng9feng
 * @Description 存放处理器信息
 * @Date 2020/12/10 07:54
 */
@Data
@NoArgsConstructor
@RequiredArgsConstructor
@ToString
public class Handler {
	
	/**
	 * 对应的控制器
	 */
	@NonNull
	private Object controller;
	
	/**
	 * 被执行的方法
	 */
	@NonNull
	private Method method;
	
	/**
	 * 请求uri
	 */
	@NonNull
	private Pattern urlPattern;
	
	/**
	 * 用于存放执行method时入参和对应下标映射
	 */
	private Map<String, Integer> paramIndexMap = new HashMap<>();
}
